interface AX {
  name: string
  age: number
}

interface BX {
  name: string
  age: number
  sex: string
}

let aX: AX = {
  name: '老墨我想吃鱼了',
  age: 33,
}

let bX: BX = {
  name: '老墨我不想吃鱼',
  age: 33,
  sex: '女',
}

aX = bX //多给少，协变

let fna = (params:AX) => {
 console.log('params',params)
}
let fnb = (params:BX) => {
 console.log('params',params)
}
 
// fna = fnb //错误 tsconfig strictFunctionTypes 设置为false 支持双向协变 fna fnb 随便可以来回赋值
fnb = fna //正确 //逆变一般发生于函数的参数上面

